// EquipController.java
package com.geek.hero.controller;

import com.geek.hero.entity.Equip;
import com.geek.hero.result.Result;
import com.geek.hero.service.IEquipService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * <p>
 * 装备前端控制器
 * </p>
 *
 * @author author
 * @since 2025-09-14
 */
@RestController
@RequestMapping("/equip")
@CrossOrigin
public class EquipController {

    @Autowired
    private IEquipService equipService;

    // 获取所有装备,@GetMapping: 处理GET请求，对应URL为"/equip"
    //调用equipService的list()方法获取所有装备
    //返回封装在Result对象中的结果
    @GetMapping
    public Result list() {
        List<Equip> list = equipService.list();
        return new Result(true, "查询成功", list);
    }

    // 根据ID获取装备详情
    //@GetMapping("/{id}"): 处理带ID参数的GET请求，如"/equip/1"
    //@PathVariable: 从URL路径中提取id参数
    //根据ID查询装备，如果找到则返回装备信息，否则返回错误信息
    @GetMapping("/{id}")
    public Result getById(@PathVariable Integer id) {
        Equip equip = equipService.getById(id);
        if (equip != null) {
            return new Result(true, "查询成功", equip);
        } else {
            return new Result(false, "未找到该装备");
        }
    }

    // 根据名称搜索装备
    // @GetMapping("/{id}"): 处理带ID参数的GET请求，如"/equip/1"
    //@PathVariable: 从URL路径中提取id参数
    //根据ID查询装备，如果找到则返回装备信息，否则返回错误信息
    @GetMapping("/search")
    public Result searchByName(@RequestParam String keyword) {
        List<Equip> equipList = equipService.searchByName(keyword);
        return new Result(true, "查询成功", equipList);
    }
}
